En C++, el Operador de ámbito (::) actúa como un GPS preciso, indicando al compilador exactamente qué espacio de nombres buscar. Sin embargo, escribir std:: repetidamente es como escribir tu nombre completo cada vez que hablas. Usamos declaraciones using para crear sinónimos locales.
1. La declaración using
Una using declaración nos permite acceder a un nombre de otro espacio de nombres sin el prefijo. Sigue el formato: using nombre_espacio::nombre;. Cada declaración debe finalizar con un punto y coma. Una vez declarado, el nombre está en ámbito desde el punto de declaración hasta el final del ámbito local (como un bloque de función) o ámbito global (nivel de archivo).
2. Higiene de encabezados y protectores
Para apoyar compilación independiente, usamos Protectores de encabezado. Estos evitan que el preprocesador incluya el mismo archivo varias veces, lo cual provocaría errores de "redefinición". Usando #ifndef (si no está definido), #define, y #endif asegura que un encabezado se procese solo una vez.
#includelos incluye, una using declaración en un encabezado fuerza ese nombre a todos los ámbitos de los archivos que lo incluyen, arriesgando colisiones silenciosas de nombres.